home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / vgfx10.zip / VOC1.PAS < prev    next >
Pascal/Delphi Source File  |  1994-12-01  |  2KB  |  66 lines

  1. { Simple demo program the shows the use of the VOC playing routines
  2.   in VGFX.
  3.  
  4.   What this demo does is load up a voc file and play it until the user
  5.   presses a key.
  6. }
  7.  
  8. uses dos,crt,vgfx;
  9.  
  10. begin
  11.      { Set-up the library so we can access the VOC file }
  12.      SetWorkLib('demo.gfx');
  13.  
  14.  
  15.      { Initialize SoundBlaster or compatible }
  16.      if (not SB_Init(5, 1, $220)) then
  17.      begin
  18.           { SoundBlaster or compatible was not found, so give an error msg }
  19.  
  20.           writeln;
  21.           writeln('Sorry, but I cannot find a SoundBlaster or compatible!');
  22.           writeln;
  23.           halt(1);
  24.      end
  25.      else
  26.      begin
  27.           { Load VOC file into memory }
  28.           if (not LoadVoc('song.voc')) then
  29.           begin
  30.                writeln;
  31.                writeln('Not enough free memory or file not found, cannot continue!');
  32.                writeln;
  33.                halt(1);
  34.           end
  35.           else
  36.           begin
  37.                { Tell the VOC routines to loop the sound forever
  38.                  with a 2 second delay between loops }
  39.                LoopVoc(TRUE, 36);
  40.           end;
  41.      end;
  42.  
  43.  
  44.      { Play VOC file, assuming the SoundBlaster was initialized; if not
  45.        it will do nothing }
  46.      PlayVoc;
  47.  
  48.      repeat
  49.            write('SONG.VOC is ');
  50.  
  51.            { Tell the user what the VOC player is doing }
  52.            if (IsVOCPlaying) then
  53.               write('playing')
  54.            else
  55.                write('paused for 2 seconds');
  56.  
  57.            writeln(', press any key to exit ...');
  58.  
  59.      until (keypressed);
  60.      readkey;
  61.  
  62.      writeln;
  63.  
  64.      { There is nothing you need to call to close these routines
  65.        it's all done automatically for you! }
  66. end.